Skip to main content
TrustRadius
HashiCorp Vagrant

HashiCorp Vagrant

Overview

What is HashiCorp Vagrant?

Vagrant is a tool designed to create and configure lightweight, reproducible, and portable development environments. It leverages a declarative configuration file which describes all software requirements, packages, operating system configuration, and users.

Read more
Recent Reviews

TrustRadius Insights

Vagrant has gained popularity among users who have switched from DesktopServer for their local development stack, citing its versatility …
Continue reading

Great for us!

8 out of 10
August 17, 2018
Incentivized
We use Vagrant across our Product Dev teams (QA, Front end/Back end Dev, IT Operations, etc) to test our code changes, debug and preview …
Continue reading
Read all reviews
Return to navigation

Pricing

View all pricing
N/A
Unavailable

What is HashiCorp Vagrant?

Vagrant is a tool designed to create and configure lightweight, reproducible, and portable development environments. It leverages a declarative configuration file which describes all software requirements, packages, operating system configuration, and users.

Entry-level set up fee?

  • No setup fee

Offerings

  • Free Trial
  • Free/Freemium Version
  • Premium Consulting/Integration Services

Would you like us to let the vendor know that you want pricing?

7 people also want pricing

Alternatives Pricing

What is HashiCorp Terraform?

Terraform from HashiCorp is a cloud infrastructure automation tool that enables users to create, change, and improve production infrastructure, and it allows infrastructure to be expressed as code. It codifies APIs into declarative configuration files that can be shared amongst team members,…

What is Microsoft System Center?

Microsoft System Center Suite is a family of IT management software for network monitoring, updating and patching, endpoint protection with anti-malware, data protection and backup, ITIL- structured IT service management, remote administration and more. It is available in two editions: standard…

Return to navigation

Product Details

What is HashiCorp Vagrant?

HashiCorp Vagrant is a tool for building complete development environments and is the command line utility for managing the lifecycle of virtual machines. Vagrant isolates dependencies and their configuration within a single disposable and consistent environment.

Boasting an easy-to-use workflow and focus on automation, Vagrant aims to lower the development environment setup time, increase development/production parity, and make the "it works on my machine" excuse a relic of the past.

HashiCorp Vagrant Technical Details

Operating SystemsUnspecified
Mobile ApplicationNo

Frequently Asked Questions

Vagrant is a tool designed to create and configure lightweight, reproducible, and portable development environments. It leverages a declarative configuration file which describes all software requirements, packages, operating system configuration, and users.

Oracle VM VirtualBox, VMware Fusion, and VMware Horizon are common alternatives for HashiCorp Vagrant.

The most common users of HashiCorp Vagrant are from Small Businesses (1-50 employees).
Return to navigation

Comparisons

View all alternatives
Return to navigation

Reviews and Ratings

(40)

Community Insights

TrustRadius Insights are summaries of user sentiment data from TrustRadius reviews and, when necessary, 3rd-party data sources. Have feedback on this content? Let us know!

Vagrant has gained popularity among users who have switched from DesktopServer for their local development stack, citing its versatility and robustness. With Vagrant, users are able to spin up WordPress websites locally and assign them a local domain, offering flexibility and automation. Development teams rely on Vagrant to quickly scaffold web projects, using proprietary Vagrant configurations and boxes that mimic staging and production environments. Vagrant is primarily used for PHP projects like WordPress but is also utilized for bespoke, bundled, or framework websites.

The use of Vagrant has yielded positive results for various projects. For instance, it has greatly facilitated the development of Taskle by making the process easier and more efficient. Users have found Ansible to be a valuable tool when working with Vagrant, enhancing their overall development experience. Freelance developers and development teams depend on Vagrant for local application development, including Drupal servers, ensuring compatibility with Linux servers and minimizing errors when building code on a Mac.

In addition to its broad range of applications, Vagrant is commonly used in conjunction with version control and deployment tools to enable safer development and testing, optimize local resources usage, and eliminate network latency. Development teams rely on Vagrant to effectively mimic production server environments, addressing compatibility issues and ensuring consistent development environments across all team members. Furthermore, operations teams utilize Vagrant to develop changes applied to production infrastructure via Puppet.

Apart from its role in web development projects, Vagrant plays an important part in one-off development tasks as well as provisioning specific versions of Windows and Internet Explorer for testing purposes. Its ability to serve as a stable environment makes it easier for developers within a company to switch projects and maintain multiple scenarios on servers. It is widely used for Laravel web app development, providing a consistent environment encompassing the necessary packages.

Vagrant's usefulness extends beyond web developers as software developers employ it to deploy, execute, and test software in virtual machines. Additionally, consultants find value in using Vagrant to configure and test products before deploying them in production environments. Overall, Vagrant is a versatile tool that caters to diverse development needs, offering flexibility, efficiency, and consistency in the development process.

Decentralized tool with flexibility: Users consistently praise Vagrant as a decentralized tool that allows them to create container packages for starting projects. This feature provides the flexibility needed to work with different styles of WordPress installs or even create custom environments, enhancing their overall development experience.

Easy configuration for local development: Reviewers appreciate Vagrant's ability to easily set ports and URLs for local development. This convenient feature enables them to seamlessly work on their projects without encountering any issues, such as SQL problems, which they may face when using other tools like MAMP or DesktopServer.

Efficiency and repeatability in development: Many users highlight the efficiency of Vagrant in scaffolding a development and test environment. They consistently achieve repeatable results, ensuring that their projects are built on a solid foundation. Additionally, this efficient workflow saves time and effort during the development process.

Steep Learning Curve: Many users have expressed frustration with the steep learning curve associated with deploying a vagrant package, especially for those who are not familiar with the command line. They have found it challenging to navigate through Vagrant's configuration and setup process.

Bugs in Major Updates: Several reviewers have reported encountering bugs after installing major updates, which have had significant consequences on their development projects. These issues disrupted their workflow and required additional time and effort to resolve.

Compatibility Issues: Some users have experienced compatibility problems when running Vagrant on certain operating systems, specifically Windows 8.1 Home and Windows 10 Home. This has caused inconvenience and hindered their ability to fully utilize Vagrant's features.

Users have made several recommendations for improving the experience with Vagrant.

First, users recommend using virtual machines and web systems to enhance page results, which can improve performance and provide a better user experience.

Second, users suggest utilizing tools like PuPHPet or Chef to build a Vagrantfile. These tools simplify the process of setting up and configuring Vagrant, making it easier to manage projects.

Lastly, users advise exploring existing projects that use Vagrant on version control networks. This allows users to gain knowledge and experiment with changes, helping them understand how others have implemented Vagrant in their workflows.

Overall, these recommendations aim to enhance the learning curve of Vagrant and provide users with a more efficient and collaborative development environment.

Attribute Ratings

Reviews

(1-4 of 4)
Companies can't remove reviews or game the system. Here's why
Collin Berg | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Incentivized
I switched to vagrant from DesktopServer for my local development stack when updating to High Sierra. Vagrant is a much more versatile and robust product that gives me flexibility and automation. I use it to spin up Wordpress websites locally and give them a local domain. DesktopServer only allowed 3 instances, but with Vagrant I can use as many as I need.
  • Vagrant is decentralized so anyone can make a container package to get a project started. you aren't limited to wordpress, or even one style of wordpress install (you can make a sage.io wordpress environment).
  • Vagrant easily lets you set ports and URLs for local development.
  • I have yet to have a problem with Vagrant, as opposed to MAMP and DesktopServer, which both gave me SQL or other issues.
  • The learning curve is steep for deploying a vagrant package if you've never dealt the command line.
  • Initially, it was a little difficult to get the networking right because I didn't have a lot of experience with using to the virtual machine.
Vagrant is great if you are working on websites or applications locally and need to set up a container that manages the environment. I'm no longer struck with having to work only in one version of a language as well. I can debug locally with an old project in PHP 5.3 or work on a new project that uses PHP 7
  • Vagrant has sped up and streamlined a lot of my local development. Spinning up a server is really quick and I don't have to spend a lot of time debugging my environment.
Previously I had used MAMP and DesktopServer. MAMP was constantly giving me MySQL problems and is frustrating in that it limits how many installs you can have. DesktopServers was a little better, but broke when i switched to High Sierra OSX. Their website and support were very lack luster and so I switched to Vagrant. Vagrant has been more flexible and faster to setup as well.
1
Vagrant is used for spinning up virtual servers for local development that we build websites on. We build Wordpress and Laravel websites on it.
  • Local Development
  • Local Debugging
  • Cross Platform Compatibility
  • Experiment with other containers that aren't just PHP sites. Possibly Node.js or python box.
Vagrant is fast, versatile and does exactly what we need it to do: spin up virtual servers for local development fast and without trouble.
Joey Yax | TrustRadius Reviewer
Score 7 out of 10
Vetted Review
Verified User
Incentivized
Vagrant is used for local development of websites, APIs and web applications. By being able to mimic the production server environment we're able to eliminate the potential for any compatibility issues that can occur when running the code on a different architecture than it was originally built on. It's also helpful in the reverse-- Vagrant ensures that every developer is using the exact same environment.
  • Server Virtualization - it's easy to recreate a server environment and automate builds for other developers.
  • Seamless integration between the server environment and local machine. This allows you to use your preferred editor, automation tools and other applications, but have the website run in a self-contained environment
  • Community
  • Learning curve is steep - It can be challenging for someone to set up initially. After some coaching, the basics come pretty quickly though.
  • Relies on external Virtual Machine applications - It would be great if Vagrant itself could run the virtual machine instead of leaning on other virtualization software. This is a small detail, but would make setup simple.
  • Better support for running
Extremely useful, but can get a little complicated to maintain several environments. If you only work on one or a handful of sites Vagrant is awesome. If you have dozens to maintain it gets a little more cumbersome. If ensuring compatibility is a must have it's a no-brainer and excellent for sandboxing projects.
  • Vagrant is free - It requires a bit of extra technical knowledge in terms of setup, but since it costs nothing it's an excellent resource
  • It can be time consuming to learn, but once you get a good handle on it you're in good shape.
Vagrant is a little different than other options out there. It blurs the lines between the server environment and the local environment. Options like MAMP and XAMPP allow a developer to run a local version of Apache, MySQL and PHP locally, but it's all based on the local operating system. Applications also share resources which sometimes is less than ideal. Vagrant allows the application to be entirely sandboxed and built from the ground up. VMware Fusino, Parallels and VirtualBox are great for Virtualization as well but they require you to work in that environment which makes working with already established tools more challening.
Claudio Fernando Maciel | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User
Incentivized
With literally dozens of development environments, spread both throughout the company's development computers and our servers, it was becoming more and more daunting a task to keep them all integrated, concise and consolidated. There were just too many bugs whenever a new scenario showed up as we configured the new one, rendering one too many previous ones inoperable.
Vagrant became the main staple for the company's developers, as we all were part of both the research and the development tasks at the company. So, switching projects - as well as keeping various scenarios at the same time on our servers - really became a breeze for everyone. Now, every new task of research that involves a new set of technology, comes with a vagrant up command, which is nice and simple to deal with the incompatibilities, so common in this industry.

  • Maintaining many virtualized machines at the same time
  • Multiple platform support
  • A lot lighter if compared with VMBox
  • The end of "it's working at my computer" kind of excuse when things break at production
  • If possible, it could be lighter than its alternatives.
  • Improve the way boxes work, to make it easier to update and/or find
  • For simple out-of-the-box tasks Vagrant is pretty simple to use, but for much more real-life and complex tasks, it can become quite daunting to configure a box and make it available/distributable to all the company's computers.
If what you need is a machine to run your tests, research, and to tinker with and not be afraid of ruining your machine or the company's servers, vagrant is a great option. Also it's a great choice if you are working on a team based project, as everybody gets to share exactly the same environment, without the risk of having variations of path variables, dependencies versions and so on. If what you are looking for is isolation, then probably it's not the most well suited tool for you, as it's still a machine dependent on VirtualBox (or others), while, causing somewhat of an overhead.
  • With Vagrant, we were able to make the entire team ready for a project start with a minimum time cost, as each machine would ship the same vagrant box.
  • As soon as the project is ready either for testing at our staging servers or production ones, there's no longer the fear of the so famously known "environment differences" deployment bugs. As our servers contain exactly the same machine as the developers use, thus delivering more confidence to the team and trust for the salesmen.
  • The learning curve was quite steep to get the devops team ready for configuring and maintaining the virtuallized machines throughout the company
  • LXC and Docker
In comparison to Docker, Vagrant is a lot easier to create its [containers] boxes, than it is with Docker. Our company already dealt with and its devops team knew somewhat well the way of Vagrant, so it was quite natural to go Vagrant when trying to choose which would be our virtualized machine tool. Many of our developers were mainly developing and researching from Windows machines, so LXC [which back then was our second best choice] was not really a choice for these collaborators.
Andrew Shell | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
Originally our company would do development on remote machines. I'd SSH into a development box and do my work. I found that this was less than ideal because it was a lot of work to set up different boxes for any additional developers.
When we started work on our second application Taskle, I decided to try using Vagrant for our development environment. I had seen a presentation about it at a local user group and thought it would make development easier.
Initially we used Vagrant with Chef, but eventually, I found Ansible and have really liked using it.
Since Vagrant is a tool for development environments, it's only used by our developers. We currently have several freelance developers working on our applications in addition to myself and we all use Vagrant boxes for development.
  • Vagrant allows me to do development locally. That means that as long as I have my computer I can work on our product. This has been helpful when our internet has gone down, or even just if the internet has been slow. I've also been able to work in the car or when I'm camping and don't have wi-fi.
  • Vagrant has allowed me to set up a consistent development environment for all of our developers. I know they are using the correct version of the servers and of the code.
  • Vagrant allows me to easily.
  • Vagrant also allows me to experiment with alternate configurations. I can test our for instance if upgrading the OS or version of PHP is going to break anything.
  • Because Vagrant is a low-level tool with many ways to configure it, there is a steep learning curve. You don't just have to learn (or install) Vagrant, but also Virtualbox, Ansible and possibly some Vagrant plugins to keep boxes up to date.
  • Support on Windows doesn't seem great. I'm a Mac guy, so it's been very difficult getting things to work as expected when a developer wants to work on Windows.
  • Perhaps I didn't configure it correctly, but the default shared folders are not the best for performance. There are also frequently weird issues regarding file permissions.

If you're writing software, particularly software that depends on other services (web servers or databases for example) then Vagrant is great. I know some people skip Vagrant and just set up virtual machines on their own, but I've found that Vagrant streamlines the process nicely and makes it easy to update or swap out versions.

If you're a web developer (which I am) it's amazing. I can have several boxes configured for my different projects and I just spin them up or down based on what I'm working on.

One scenario where this might not be ideal is if you're running Vagrant on a computer that has limited resources. Since you're running a virtual machine with its own operating system and such you'll want a host computer with enough RAM, hard drive space and CPU to run the virtual machine properly without killing the performance of the host.

The virtual disks can also take up a lot of space if you're not careful so if you have many virtual machines provisioned and don't clean up the old ones that you're not using, you may find that your hard drive is full. Each of my Linux servers take up about 10GB of disk space.

  • It has streamlined our development processes allowing me to get more development done in a shorter amount of time.
  • It has made developer onboarding quicker. Instead of spending a whole lot of time helping a developer getting our application to run on their unique environment, I know that everything is correct.
  • Doing development locally means that we don't have to have one or more development servers running in the cloud that we'd be paying for otherwise.
  • VirtualBox
By default Vagrant uses VirtualBox but compared to using VirtualBox directly, I've found using Vagrant makes things easier. For one, you can commit your Vagrant configuration to GitHub and manage changes that way. I'm not sure how you'd handle updated virtual machines to all your developers otherwise. You would probably have to distribute binaries which would make it difficult to know if you're running the latest box.
Return to navigation